36 research outputs found

    A Domain-Specific Language and Editor for Parallel Particle Methods

    Full text link
    Domain-specific languages (DSLs) are of increasing importance in scientific high-performance computing to reduce development costs, raise the level of abstraction and, thus, ease scientific programming. However, designing and implementing DSLs is not an easy task, as it requires knowledge of the application domain and experience in language engineering and compilers. Consequently, many DSLs follow a weak approach using macros or text generators, which lack many of the features that make a DSL a comfortable for programmers. Some of these features---e.g., syntax highlighting, type inference, error reporting, and code completion---are easily provided by language workbenches, which combine language engineering techniques and tools in a common ecosystem. In this paper, we present the Parallel Particle-Mesh Environment (PPME), a DSL and development environment for numerical simulations based on particle methods and hybrid particle-mesh methods. PPME uses the meta programming system (MPS), a projectional language workbench. PPME is the successor of the Parallel Particle-Mesh Language (PPML), a Fortran-based DSL that used conventional implementation strategies. We analyze and compare both languages and demonstrate how the programmer's experience can be improved using static analyses and projectional editing. Furthermore, we present an explicit domain model for particle abstractions and the first formal type system for particle methods.Comment: Submitted to ACM Transactions on Mathematical Software on Dec. 25, 201

    Neither essence nor accident: Situated knowledge and its importance for the community broker

    Get PDF
    The paper describes the design of the Community Broker as a case study for the development of a tool attempting to support individual web-search strategies by using the community-based nature of a great deal of information exchange and learning. Community experiences affect the understanding, validation and organization of individual knowledge. Communities affecting the representation of knowledge frame the every-day decisions individuals have to take in spite of incomplete, insecure knowledge and the vagueness of communicating in natural languages. As for the often distributed, fragmented and heterogeneous nature of knowledge and related problems of information search in the internet - some of which are described in the paper - technical tools can support information search, when the influence of community-based identities upon knowledge representation and -identification is used as a source of additional information instead of being ignored

    A language and development environment for parallel particle methods

    Get PDF
    We present the Parallel Particle-Mesh Environment (PPME), a domain-specific language (DSL) and development environment for numerical simulations using particles and hybrid particle-mesh methods. PPME is the successor of the Parallel Particle-Mesh Language (PPML), a Fortran-based DSL that provides high-level abstrac- tions for the development of distributed-memory particle-mesh simulations. On top of PPML, PPME provides a complete development environment for particle-based simu- lations usin state-of-the-art language engineering and compiler construction techniques. Relying on a novel domain metamodel and formal type system for particle methods, it enables advanced static code correctness checks at the level of particle abstractions, com- plementing the low-level analysis of the compiler. Furthermore, PPME adopts Herbie for improving the accuracy of floating-point expressions and supports a convenient high-level mathematical notation for equations and differential operators. For demonstration purposes, we discuss an example from Discrete Element Methods (DEM) using the classic Silbert model to simulate granular flows

    Genetic and Evolutionary Analyses of the Human Bone Morphogenetic Protein Receptor 2 (BMPR2) in the Pathophysiology of Obesity

    Get PDF
    Human bone morphogenetic protein receptor 2 (BMPR2) is essential for BMP signalling and may be involved in the regulation of adipogenesis. The BMPR2 locus has been suggested as target of recent selection in human populations. We hypothesized that BMPR2 might have a role in the pathophysiology of obesity.Evolutionary analyses (dN/dS, Fst, iHS) were conducted in vertebrates and human populations. BMPR2 mRNA expression was measured in 190 paired samples of visceral and subcutaneous adipose tissue. The gene was sequenced in 48 DNA samples. Nine representative single nucleotide polymorphisms (SNPs) were genotyped for subsequent association studies on quantitative traits related to obesity in 1830 German Caucasians. An independent cohort of 925 Sorbs was used for replication. Finally, relation of genotypes to mRNA in fat was examined.The evolutionary analyses indicated signatures of selection on the BMPR2 locus. BMPR2 mRNA expression was significantly increased both in visceral and subcutaneous adipose tissue of 37 overweight (BMI>25 and <30 kg/m²) and 80 obese (BMI>30 kg/m²) compared with 44 lean subjects (BMI< 25 kg/m²) (P<0.001). In a case-control study including lean and obese subjects, two intronic SNPs (rs6717924, rs13426118) were associated with obesity (adjusted P<0.05). Combined analyses including the initial cohort and the Sorbs confirmed a consistent effect for rs6717924 (combined P = 0.01) on obesity. Moreover, rs6717924 was associated with higher BMPR2 mRNA expression in visceral adipose tissue.Combined BMPR2 genotype-phenotype-mRNA expression data as well as evolutionary aspects suggest a role of BMPR2 in the pathophysiology of obesity

    Competence in Endoscopic Ultrasound and Endoscopic Retrograde Cholangiopancreatography, From Training Through Independent Practice.

    Get PDF
    BACKGROUND & AIMS: It is unclear whether participation in competency-based fellowship programs for endoscopic ultrasound (EUS) and endoscopic retrograde cholangiopancreatography (ERCP) results in high-quality care in independent practice. We measured quality indicator (QI) adherence during the first year of independent practice among physicians who completed endoscopic training with a systematic assessment of competence. METHODS: We performed a prospective multicenter cohort study of invited participants from 62 training programs. In phase 1, 24 advanced endoscopy trainees (AETs), from 20 programs, were assessed using a validated competence assessment tool. We used a comprehensive data collection and reporting system to create learning curves using cumulative sum analysis that were shared with AETs and trainers quarterly. In phase 2, participating AETs entered data into a database pertaining to every EUS and ERCP examination during their first year of independent practice, anchored by key QIs. RESULTS: By the end of training, most AETs had achieved overall technical competence (EUS 91.7%, ERCP 73.9%) and cognitive competence (EUS 91.7%, ERCP 94.1%). In phase 2 of the study, 22 AETs (91.6%) participated and completed a median of 136 EUS examinations per AET and 116 ERCP examinations per AET. Most AETs met the performance thresholds for QIs in EUS (including 94.4% diagnostic rate of adequate samples and 83.8% diagnostic yield of malignancy in pancreatic masses) and ERCP (94.9% overall cannulation rate). CONCLUSIONS: In this prospective multicenter study, we found that although competence cannot be confirmed for all AETs at the end of training, most meet QI thresholds for EUS and ERCP at the end of their first year of independent practice. This finding affirms the effectiveness of training programs. Clinicaltrials.gov ID NCT02509416

    Competence in Endoscopic Ultrasound and Endoscopic Retrograde Cholangiopancreatography, From Training Through Independent Practice.

    Get PDF
    BACKGROUND & AIMS: It is unclear whether participation in competency-based fellowship programs for endoscopic ultrasound (EUS) and endoscopic retrograde cholangiopancreatography (ERCP) results in high-quality care in independent practice. We measured quality indicator (QI) adherence during the first year of independent practice among physicians who completed endoscopic training with a systematic assessment of competence. METHODS: We performed a prospective multicenter cohort study of invited participants from 62 training programs. In phase 1, 24 advanced endoscopy trainees (AETs), from 20 programs, were assessed using a validated competence assessment tool. We used a comprehensive data collection and reporting system to create learning curves using cumulative sum analysis that were shared with AETs and trainers quarterly. In phase 2, participating AETs entered data into a database pertaining to every EUS and ERCP examination during their first year of independent practice, anchored by key QIs. RESULTS: By the end of training, most AETs had achieved overall technical competence (EUS 91.7%, ERCP 73.9%) and cognitive competence (EUS 91.7%, ERCP 94.1%). In phase 2 of the study, 22 AETs (91.6%) participated and completed a median of 136 EUS examinations per AET and 116 ERCP examinations per AET. Most AETs met the performance thresholds for QIs in EUS (including 94.4% diagnostic rate of adequate samples and 83.8% diagnostic yield of malignancy in pancreatic masses) and ERCP (94.9% overall cannulation rate). CONCLUSIONS: In this prospective multicenter study, we found that although competence cannot be confirmed for all AETs at the end of training, most meet QI thresholds for EUS and ERCP at the end of their first year of independent practice. This finding affirms the effectiveness of training programs. Clinicaltrials.gov ID NCT02509416

    Measurement of the Top Pair Production Cross Section in the Dilepton Decay Channel in ppbar Collisions at sqrt s = 1.96 TeV

    Get PDF
    Submitted to Phys. Rev. DA measurement of the \ttbar production cross section in \ppbar collisions at s\sqrt{{\rm s}} = 1.96 TeV using events with two leptons, missing transverse energy, and jets is reported. The data were collected with the CDF II Detector. The result in a data sample corresponding to an integrated luminosity 2.8 fb1^{-1} is: \sigma_{\ttbar} = 6.27 ±\pm 0.73(stat) ±\pm 0.63(syst) ±\pm 0.39(lum) pb. for an assumed top mass of 175 GeV/c2c^{2}.A measurement of the tt̅ production cross section in pp̅ collisions at √s=1.96  TeV using events with two leptons, missing transverse energy, and jets is reported. The data were collected with the CDF II detector. The result in a data sample corresponding to an integrated luminosity 2.8  fb-1 is σtt̅ =6.27±0.73(stat)±0.63(syst)±0.39(lum)  pb. for an assumed top mass of 175  GeV/c2.Peer reviewe

    Round-trip Engineering of Template-based Code Generation in SkAT

    Get PDF
    In recent years, the development of multi-core CPUs and GPUs with many cores has taken precedence over an increase in clock frequency. Therefore, writing parallel programs for multi-core and many-core systems becomes increasingly important. Due to the lack of inherently parallel language features in most programming languages, today many programs are written sequentially and then enhanced with special pragmas or framework calls hinting parallelizable parts of code. This hints are then used to modify and extend the code with parallel constructs in a preprocessing step. If it is crucial to optimize the run time of a program, the code generated by this step has to be inspected an manually tuned. To keep the original and the transformed code artifacts synchronized, an editor with a round-trip engineering (RTE) system can be used. RTE propagates changes made in the source artifacts to the generated artifacts and vice versa. One tool that can be used to expand pragmas to parallelized source code is the invasive software composition framework SkAT. SkAT-based tools use reference attribute grammars (RAGs) to compose code fragments according to a composition program written in Java. To facilitate the creation of SkAT-based tools, a minimal composition system framework SkAT/Minimal on to of the SkAT core contains mechanisms to enable the incremental building of such tools. The principle of island parsing is employed to be able to express just as much of a language as is necessary for composition. In this work, composition systems based on SkAT/Minimal are targeted. The task is split into two parts: first, approaches for RTE are analyzed and a concept for a RTE system is created. The focus lies on the analysis of features and requirements of existing RTE approaches and a thorough investigation of all relevant steps required to implement such a system for SkAT/Minimal. The second part of the task is the creation and evaluation of a prototypical implementation of the system.:1 Introduction 1 1.1 Motivation 1 1.2 Scope 2 1.3 Contributions 2 1.4 Organization 2 2 Background 5 2.1 Fundamentals 6 2.1.1 Syntax Trees 6 2.1.2 Parsing and Unparsing 6 2.2 Attribute Grammars 9 2.2.1 Reference Attribute Grammars 10 2.2.2 Reference Attribute Grammars in SkAT 10 2.3 Composition Systems 12 2.3.1 Software Composition Systems 13 2.3.2 Invasive Software Composition 13 2.3.3 SkAT 15 2.3.4 Template-based Code Generation 16 2.4 Round-trip Engineering 17 2.4.1 Motivation For Round-trip Engineering 17 2.4.2 Concepts of RTE 18 3 Analysis of RTE Approaches 19 3.1 Automatic Round-trip Engineering 19 3.2 RTE In Aspect Weaving Systems 21 3.2.1 CST Graftings 21 3.2.2 Update Propagation in Aspect Weaving Systems 22 3.3 RTE in Invasive Software Composition Systems 23 3.3.1 Tracing Composition Program Execution 23 3.3.2 Backpropagation of Changes 24 3.3.3 Implementation in the Reuseware Framework 26 3.4 Managing Fragments in RTE 27 3.5 Evaluation of RTE Approaches 28 4 Tracing in SkAT 31 4.1 Requirements 31 4.1.1 Objectives 32 4.1.2 Functional and Nonfunctional Requirements 32 4.2 Concept 33 4.3 Implementation 34 5 Building an RTE-editor Prototype 37 5.1 Prerequisites 37 5.2 Requirements 39 5.3 Concept 40 5.3.1 AST Interface 41 5.3.2 Composer Interface 41 5.3.3 Generating the Output 41 5.3.4 The Prototype Skeleton 42 5.4 Implementation 43 6 Designing an RTE-editor 49 6.1 Replay 50 6.2 AST Modifications 50 6.2.1 Modification Types 51 6.2.2 Detecting Modification Types 52 6.3 Origin Inference 53 6.3.1 Inference for Updated Elements 53 6.3.2 Inference for Deleted Elements 54 6.3.3 Inference for Inserted Elements 54 6.4 Gap Edit Problem 54 6.4.1 Inference in SkAT 57 6.4.2 Multiple Source Fragments 57 6.5 Applying Modifications 58 6.5.1 Propagating Terminal Updates 60 6.5.2 Propagating Non-terminal Updates 61 6.5.3 Propagating Deletions 62 6.5.4 Propagating Insertions 62 6.5.5 Propagating Composed Modifications 62 6.6 Adapting SkAT Composition Programs 63 7 Evaluation and Outlook on Future Works 65 7.1 Fragment Versioning 65 7.2 Composition Program DSL 66 7.3 Structured Editors 68 7.4 SkAT RTE System 68 Appendices 71 List of Figures 73 List of Listings 75 List of Abbreviations 77 Bibliography 79 CD Content 8

    Round-trip Engineering of Template-based Code Generation in SkAT

    No full text
    In recent years, the development of multi-core CPUs and GPUs with many cores has taken precedence over an increase in clock frequency. Therefore, writing parallel programs for multi-core and many-core systems becomes increasingly important. Due to the lack of inherently parallel language features in most programming languages, today many programs are written sequentially and then enhanced with special pragmas or framework calls hinting parallelizable parts of code. This hints are then used to modify and extend the code with parallel constructs in a preprocessing step. If it is crucial to optimize the run time of a program, the code generated by this step has to be inspected an manually tuned. To keep the original and the transformed code artifacts synchronized, an editor with a round-trip engineering (RTE) system can be used. RTE propagates changes made in the source artifacts to the generated artifacts and vice versa. One tool that can be used to expand pragmas to parallelized source code is the invasive software composition framework SkAT. SkAT-based tools use reference attribute grammars (RAGs) to compose code fragments according to a composition program written in Java. To facilitate the creation of SkAT-based tools, a minimal composition system framework SkAT/Minimal on to of the SkAT core contains mechanisms to enable the incremental building of such tools. The principle of island parsing is employed to be able to express just as much of a language as is necessary for composition. In this work, composition systems based on SkAT/Minimal are targeted. The task is split into two parts: first, approaches for RTE are analyzed and a concept for a RTE system is created. The focus lies on the analysis of features and requirements of existing RTE approaches and a thorough investigation of all relevant steps required to implement such a system for SkAT/Minimal. The second part of the task is the creation and evaluation of a prototypical implementation of the system.:1 Introduction 1 1.1 Motivation 1 1.2 Scope 2 1.3 Contributions 2 1.4 Organization 2 2 Background 5 2.1 Fundamentals 6 2.1.1 Syntax Trees 6 2.1.2 Parsing and Unparsing 6 2.2 Attribute Grammars 9 2.2.1 Reference Attribute Grammars 10 2.2.2 Reference Attribute Grammars in SkAT 10 2.3 Composition Systems 12 2.3.1 Software Composition Systems 13 2.3.2 Invasive Software Composition 13 2.3.3 SkAT 15 2.3.4 Template-based Code Generation 16 2.4 Round-trip Engineering 17 2.4.1 Motivation For Round-trip Engineering 17 2.4.2 Concepts of RTE 18 3 Analysis of RTE Approaches 19 3.1 Automatic Round-trip Engineering 19 3.2 RTE In Aspect Weaving Systems 21 3.2.1 CST Graftings 21 3.2.2 Update Propagation in Aspect Weaving Systems 22 3.3 RTE in Invasive Software Composition Systems 23 3.3.1 Tracing Composition Program Execution 23 3.3.2 Backpropagation of Changes 24 3.3.3 Implementation in the Reuseware Framework 26 3.4 Managing Fragments in RTE 27 3.5 Evaluation of RTE Approaches 28 4 Tracing in SkAT 31 4.1 Requirements 31 4.1.1 Objectives 32 4.1.2 Functional and Nonfunctional Requirements 32 4.2 Concept 33 4.3 Implementation 34 5 Building an RTE-editor Prototype 37 5.1 Prerequisites 37 5.2 Requirements 39 5.3 Concept 40 5.3.1 AST Interface 41 5.3.2 Composer Interface 41 5.3.3 Generating the Output 41 5.3.4 The Prototype Skeleton 42 5.4 Implementation 43 6 Designing an RTE-editor 49 6.1 Replay 50 6.2 AST Modifications 50 6.2.1 Modification Types 51 6.2.2 Detecting Modification Types 52 6.3 Origin Inference 53 6.3.1 Inference for Updated Elements 53 6.3.2 Inference for Deleted Elements 54 6.3.3 Inference for Inserted Elements 54 6.4 Gap Edit Problem 54 6.4.1 Inference in SkAT 57 6.4.2 Multiple Source Fragments 57 6.5 Applying Modifications 58 6.5.1 Propagating Terminal Updates 60 6.5.2 Propagating Non-terminal Updates 61 6.5.3 Propagating Deletions 62 6.5.4 Propagating Insertions 62 6.5.5 Propagating Composed Modifications 62 6.6 Adapting SkAT Composition Programs 63 7 Evaluation and Outlook on Future Works 65 7.1 Fragment Versioning 65 7.2 Composition Program DSL 66 7.3 Structured Editors 68 7.4 SkAT RTE System 68 Appendices 71 List of Figures 73 List of Listings 75 List of Abbreviations 77 Bibliography 79 CD Content 8
    corecore